// /common/http.api.js

// 如果没有通过拦截器配置域名的话，可以在这里写上完整的URL(加上域名部分)

// let indexUrl = '/api/index';//数量多就不写在这里

// 此处第二个参数vm，就是我们在页面使用的this，你可以通过vm获取vuex等操作，更多内容详见uView对拦截器的介绍部分：
// https://uviewui.com/js/http.html#%E4%BD%95%E8%B0%93%E8%AF%B7%E6%B1%82%E6%8B%A6%E6%88%AA%EF%BC%9F
const install = (Vue, vm) => {
	// 此处没有使用传入的params参数
	let index=(params={})=>vm.$u.get('/api/index',params);

	
	// 登录相关
	let login = (params = {}) => vm.$u.post('/api/auth/login', params);//登录
	let authRegister=(params={})=>vm.$u.post('/api/auth/register',params);//注册
	let Logout=(params={})=>vm.$u.post('/api/auth/logout',params);//退出登录
	let authOssToken=(params={})=>vm.$u.get('/api/auth/oss/token',params);//获取OSStoken
	//用户相关
	let userInfo = (params = {}) => vm.$u.get('/api/user', params);
	let userInfoUpdata = (params = {}) => vm.$u.put('/api/user', params);
	let userAvatar = (params = {}) => vm.$u.patch('/api/user/avatar', params);
	//商品相关
	let goodsInfo=(id = {}) => vm.$u.get(`/api/goods/${id}`);
	let goodsList=(params = {}) => vm.$u.get(`/api/goods`,params);
	//购物车相关
	let cartList=(params = {}) => vm.$u.get(`/api/carts?include=goods`,params);//购物车列表
	let cartIsChecked=(cart_ids = {}) => vm.$u.patch(`/api/carts/checked`,{cart_ids});//购物车改变选中
	let cartNum=(cart,num) => vm.$u.put(`/api/carts/${cart}`,{num});//购物车数量改变
	let cartDelete=(cart) => vm.$u.delete(`/api/carts/${cart}`);//移出购物车
	
	
	// 将各个定义的接口名称，统一放进对象挂载到vm.$u.api(因为vm就是this，也即this.$u.api)下
	vm.$u.api = {index,login,Logout,authRegister,userInfo,
	userInfoUpdata,authOssToken,userAvatar,goodsInfo,goodsList,cartList,cartIsChecked,
	cartNum,cartDelete};
}

export default {
	install
}